طراحی با فونت‌فورج

کتابی درباره چگونگی ساخت یک تایپ‌فیس جدید با کمک فونت‌فورج

دریافت در قالب [ePUB] | [MOBI] | [PDF]
دیدن پروژه روی گیت‌هاب

خروجی نهایی و تولید پرونده‌های فونت

با این وجود که بررسی‌های مختلفی را می‌توانید داخل فونت‌فورج روی فونت‌تان انجام دهید، همچنان نیاز خواهید داشت تا با نصب فونت روی دستگاه‌تان، آن را در دنیای واقعی به آزمون بگذارید. افزون برای هدف نهایی شما هم همین است که فونت‌تان روی دستگاه کاربران یگر نصب و مورد استفاده قرار بگیرد. برای ساختن یک فونت فارغ از این که بخواهید امتحانش کرده یا برای استفاده دیگران منتشر کنید، از ابزار Generate Fonts (در فهرست File) استفاده می‌کنید. البته لازم است گام‌های دیگری را نیز بردارید.

فونت‌فورج می‌تواند فونت شما را به قالب‌های متعددی خروجی بگیرد اما در عمل، دو مورد از آن‌ها مهم هستند: TrueType (که دارای پسوند ttf است) و OpenType CFF (که دارای پسوند otf است). از منظر فنی، قالب OpenType گزینه‌های بیشتری را در بر می‌گیرد اما نوع CFF دارای گسترده‌ترین استفاده است.

تولید سریع و کرکثیف برای آزمودن

برای ساخت یک پروندهٔ فونت به منظور بررسی و به آزمون گذاشتن (مانند این که بخواهید فاصله‌گذاری‌ها را در مرورگر ببینید) تنها کافی است که اطمینان حاصل کنید که فونت شما، آزمون‌های درستی‌سنجی را با موفقیت گذرانده باشد.

می‌توانید از ابزار Validate Font در فهرست Element برای این منظور استفاده کرده ( فصل درستی‌سنجی؛ اطمینان حاصل کنید که فونت‌تان درست کار می‌کند را ببینید)، و یا پس از انتخاب همهٔ گلیف‌ها (با فشردن Ctrl + A) چند فرمان را برای اعمال انبوه برخی تغییر پایه‌ای اجرا کنید. پیش از ادامهٔ کار، مطمئن شوید که پروژه را ذخیره کرده‌اید. در نظر داشته باشید که برخی تغییرات برای درستی‌سنجی فونت جهت خروجی گرفتن به شکل ظریفی بر شکل گلیف‌ها اثر خواهند گذاشت.

برای فونت‌های OpenType، ابتدا جهت رسم مسیرها را درست کنید. برای این منظور یا کلید‌های Ctrl + Shift + D را بفشارید و یا به Element > Correct Direction بروید. بررسی کنید که هیچ مسیری را به صورت باز رها نکرده باشید. برای پیدا کردن مشکلات، به Element > Find problems رفته و گزینهٔ مسیرهای باز (Open Paths) را در زبانهٔ مسیرها (Paths) انتخاب کنید. با فشردن Ok، مشکلات به شما گزارش خواهند شد. به محض آن که آزمون‌ها بدون دریافت خطا پشت سر گذاشته شدند، می‌توانید برای تولید خروجی OpenType اقدام کنید.

برای فونت‌های TrueType، چند گام بیشتر مورد نیاز هستند. ابتدا بایستی جهت مسیر را به همان روشی که بالا توضیح داده شد اصلاح کنید. سپس، بایستی ترتیبی دهید که همه‌ٔ گره‌ها دارای مختصات صحیح (منظور اعداد صحیح غیر اعشاری است) باشند. برای این منظور، کلیدهای Ctrl + Shift + _ را فشرده یا به Element > Round > To Int بروید. نهایتا ابزار مشکل‌یاب (Find Problems) را باز کرده و همان‌گونه که بالاتر گفته شد گزینهٔ Open path را انتخاب و همه گلیف‌ها را در زبانهٔ Refs انتخاب کنید.

پس از آن که همهٔ آزمون‌ها بدون خطا پشت سر گذاشته شدند، نیاز به این دارید که همهٔ مسیرهای خود را به منحنی‌های درجه دو تغییر دهید. به Element > Font Info رفته و در زبانهٔ لایه‌ها (Layers) گزینهٔ All layers quadratic را برای تبدیل همهٔ لایه‌ها به منحنی‌های درجهٔ دو انتخاب کنید. روی Ok کلیک کنید. اکنون، آماده ساخت خروجی TrueType هستید.

ساختن پرونده‌های فونت

پنجرهٔ ساخت فونت (Generate Fonts) را از فهرست File باز کنید. در نیمهٔ بالایی این پنجره، گزینه‌های آشنایی برای انتخاب پرونده را می‌توان دید — فهرستی از پرونده‌هایی که در پوشهٔ جاری هستند، قسمتی برای وارد کردن نام پرونده، و دکمه‌ای برای تغییر پوشه در صورت نیاز. این بخش صرفا برای تسهیل پیدا کردن جایی است که پروندهٔ خروجی را در آن ساخته و یا روی پروندهٔ دیگری بازنویسی خواهد شد. همهٔ گزینه‌هایی که باید به آن‌ها دقت کنید، در نیمهٔ پایینی قرار دارند.

در سمت چپ، یک فهرست پایین‌افتادنی وجود دارد که از آن می‌توانید قالب فونت را انتخاب کنید. همان‌طور که پیشتر بیان شد، بایستی TrueType یا OpenType (CFF) را انتخاب کنید. در سمت راست مطمئن شوید که گزینهٔ No Bitmap Fonts در حالت فعال باشد. در خط بعدی اطمینان حاصل کنید که مقدار مربوط به الزام تغییر نام (Force glyph names to) روی No Rename قرار داشته باشد. می‌توانید گزینه‌های درستی‌سنجی پیش از ذخیره (Validate Before Saving) را نیز انتخاب کنید که خطاهای احتمالی را پیش از ذخیره کردن پرونده به شما نمایش دهد، اما این کار، کاملا به شما بستگی دارد. دو گزینهٔ بعدی یعنی Append a FONTLOG entry و Prepend timestamp را نیز در حالت غیر فعال قرار دهید.

اکنون روی دکمهٔ Generate کلیک کنید تا فونت‌فورج، پرونده شما را بسازد. می‌توانید این پرونده را در سایر برنامه‌ها باز و مورد بررسی قرار دهید. البته توجه داشته باشید که برای اعمال تغییرات، حتما پروندهٔ مربوط به پروژه را که این خروجی‌ها را از روی آن ساخته‌اید باز کنید.

تولید نسخهٔ نهایی انتشار

طراحی یک فونت، کاری تناوبی است اما نهایتا روزی فرا می‌رسد که بایستی اعلام کنید که کار روی فونت شما به پایان رسیده، یا حداقل برای استفادهٔ عموم آماده است. در این مرحله، شما بایستی دوباره اقدام به تولید پرونده‌های ttf یا otf و یا هر دو کنید اما پیش از آن چند کار دیگر را نیز بایستی انجام دهید تا به پرونده‌ای کاربرپسندتر و سازگار با معیارها و استانداردها برسید.

ابتدا، مراحلی را که بالاتر در بخش «تولید سریع و کرکثیف برای آزمودن» تشریح شد انجام دهید. به‌ویژه، به یاد داشته باشید که گزینهٔ «All layers quadratic» را انتخاب کرده باشید.

حذف هم‌پوشانی‌ها

همان‌طور که می‌دانید، فکر خوبی است که شکل حروف را به صورت ترکیبی از مؤلفه‌های مجزا حفظ کرد: پایه، کاسه، سریف‌ها، و سایر بخش‌های هر گلیف. اما هرچند که این، روش خوبی برای طراحی و ویرایش اشکال است، لازم است که فونت نهایی و منتشر شدهٔ شما دارای گلیف‌های ساده‌سازی‌شده باشند. هر چند این کار می‌تواند اندکی به کاهش حجم پرونده منجر شود اما مهم‌تر از آن، خطاهای زمان پرداخت (render) را کاهش می‌دهد.

فونت‌فورج دارای فرمانی برای حذف هم‌پوشانی‌ها (Remove Overlap) است که به طور خودکار اقدام به ترکیب مؤلفه‌ها مجزای یک گلیف می‌کند. یک گلیف (یا حتی همهٔ گلیف‌ها) را انتخاب کنید. سپس Ctrl + Shift + O را فشرده و یا آن را از Element > Overlap > Remove Overlap انتخاب کنید. به این نکته توجه داشته باشید که اگر یکی از شکل‌ها دارای جهت اشتباه باشد (یعنی جهت مسیر بیرونی، پادساعت‌گرد باشد)، فونت‌فورج نمی‌تواند آن را به درستی با بقیه ترکیب کند. البته اگر مسیری دارای جهت اشتباه باشد، این مساله باعث نمایش خطای مربوط به خود می‌شود که در هر صورت بایستی آن را با روشی که بالاتر گفته شد رفع کرد.

ساده‌سازی کران‌نماها و افزودن گره‌های کرانه

تا جایی که ممکن است، تلاش کنید که گلیف‌ها را بدون حذف جزئیات و تنها با حذف گره‌های زائد، ساده‌سازی کنید. این کار، حجم پرونده را به ازای هر گلیف کاهش می‌دهد که اگر روی همهٔ گلیف‌ها اعمال شود، تاثیرش قابل توجه خواهد بود.

به فهرست Element > Simplify > Simplify رفته و یا Ctrl + Shift + M را بفشارید. این فرمان، گره‌های زائد روی منحنی را در تمام گلیف‌های انتخاب شده حذف می‌کند. در برخی موارد تنها گره‌های کمی حذف می‌شوند ولی در موارد دیگری ممکن است تعداد این گره‌ها زیاد باشند. انتظار می‌رود این کار باعث تغییرات محسوس و قابل توجه در شکل گلیف نشود. اگر متوجه تغییرات قابل توجهی به واسطهٔ فرایند ساده‌سازی شدید با خیال راحت اقدام به بازگردانی تغییرات (Undo) کنید. همچنین می‌توانید از فرمان Simplify More برای ساده‌سازی بیشتر استفاده کنید. این فرمان، تنظیمات بیشتری ارائه می‌دهد که می‌توانند مفید واقع شوند.

در هر صورت، پس از کامل کردن گام ساده‌سازی، لازم است گره‌های کرانه را اضافه کنید. برای این کار به Element > Add Extrema رفته و یا Ctrl + Shift + X را بفشارید. همان‌طور که پیش از این درباره‌اش بحث شد، فکر خوبی است که گره‌های روی منحنی‌ای در کرانه‌های شکل هر گلیف قرار داد. در هر صورت، شما می‌بایست این کار را برای آماده‌سازی فونت برای تولید خروجی نهایی انجام دهید چرا که فرایند ساده‌سازی در مواردی می‌تواند منجر به حذف این گره‌ها شود.

همهٔ اعداد را به مقادیر صحیح گرد کنید

گام نهایی آماده‌سازی که باید انجام پذیرد، گرد کردن مختصات همهٔ گره‌ها (چه گره‌های روی منحنی چه گره‌های خارج از آن) به مقادیر صحیح است. این گام، برای تولید خروجی TrueType الزامی است اما قویاً پیشنهاد می‌شود که برای خروجی OpenType نیز انجام شود. این کار می‌تواند باعث پرداخت (render) شفاف‌تر شکل و جای‌گذاری بهتر حروف بدون نیاز به کارهای اضافه‌تر در زمان نمایش شود.

برای این منظور کافی است از Element > Round > To Int استفاده کنید.

به محض تکمیل این عملیات، ممکن است متوجه مساله‌‌ای گیج‌کننده شوید. گاهی، به دلیل طبیعت به‌خصوص منحنی‌ها، پردازش‌های مربوط به گرد کردن مختصات، ساده‌سازی و افزودن گره‌های کرانه می‌توانند علیه یکدیگر عمل کنند. به عنوان مثال ممکن است لبهٔ بیرونی یک منحنی یک گره کنترلی داشته باشد که نزدیک به افقی یا عمودی باشد و گرد کردن مختصاتش باعث شود که موقعیت گره کرانه تغییر کند.

راه حل هلو بپر تو گلویی برای این چیستان وجود ندارد. تنها راه حل قابل تضمین این است که این چرخه را چندین بار تکرار کنید تا به وضعیت پایداری برسید که این سه عملیات دیگر روی هم اثر مخرب نگذارند. این کار می‌تواند چندین مرتبه تکرار شود اما به ندرت چنین شرایطی پیش می‌آید.

درستی‌سنجی

پیش از تولید خروجی نهایی، فونت شما بایستی از آزمون‌های درستی‌سنجی ضروری با موفقیت عبور کند. با این وجود، مشابه گام مربوط به گرد کردن مختصات گره‌ها، گاهی ممکن است دیگر عملیات آماده‌سازی باعث بروز خطاهایی بشوند. بنابراین همیشه فکر خوبی است که در این مرحله و پیش از تولید خروجی، درستی‌سنجی را روی کل فونت اجرا کنید. فصل درستی‌سنجی؛ اطمینان حاصل کنید که فونت‌تان درست کار می‌کند جزئیات بیشتری در این خصوص در اختیارتان می‌گذارد.

چند نکته درباره اشاره‌گذاری (Hinting)

اصطلاح اشاره‌گذاری یا Hinting به استفاده از محاسبات ریاضیاتی‌ای اشاره دارد که برای پرداخت (render) منحنی‌های برداری موجود در یک فونت برای نمایش درست روی پیکسل‌ها (خواه در صفحهٔ نمایش یا به عنوان نقاط جوهر یا تونر روی کاغذ) به کار می‌رود.

فونت‌فورج به شما این امکان را می‌دهد تا فونت‌تان را اشاره‌گذاری کنید (و حتی تابع اشاره‌گذاری خودکار یا Autohint را ارائه می‌دهد) اما در عمل، این گام ضرورتی ندارد. سیستم‌عامل‌های مدرن در موتورهای پرداخت متن‌شان اغلب دارای عملکرد تطبیق مناسب‌تری در قیاس با کاری که شما بخواهید بدون صرف زمان و تلاش قابل ملاحظه انجام دهید هستند. در حقیقت، سیستم‌عامل‌های گنولینوکس و مکینتاش هرگونه اشاره‌گذاری‌های موجود در فونت را نادیده می‌گیرند. اگر تصمیم‌تان این است که فونت‌تان به خاطر کاربران ویندوزی، نیازمند اشاره‌گذاری است، بهترین کاری که می‌توانید بکنید این است که فونت‌تان را بدون اشاره‌گذاری ساخته و سپس با نرم‌افزاری تخصصی برای این کار مثل ttfautohint اقدام به افزود اشاره‌ها کنید.

برای اطلاعات بیشتر می‌توانید این ویدئو درباره اشاره‌گذاری CFF توسط ادوبی در RoboThon را ببینید.

تنظیم اشاره‌های PS با پایتون نیز امکان‌پذیر است: فهرستی از توپل‌ها از طریق private وجود دارد. (با سپاس از Sungsit !)

font.private['BlueValues'] = (-20, 0, 600, 620, 780, 800, 810, 830)
font.private['OtherBlues'] = (-225, -210)
font.private['StdHW'] = 100,
font.private['StdVW'] = 137,

بررسی فراداده‌ها

زمانی که فونت شما از منظر فنی به دقت آمادهٔ گرفتن خروجی شده است، باید قدری دست نگه داشته و فراداده‌های فونت را به‌روز کنید. اطمینان حاصل کنید که اطلاعات مروبط به فراداده‌های مهم وارد شده و به‌روز باشند.

در ابتدا، اگر این اولین انتشار فونت شما است، پنجرهٔ اطلاعات فونت Element > Font Info باز کنید و به زبانهٔ “Names PS” بروید. ابتدا نام خانواده (Family Name) فونت و وزن (Weight) آن را پر کنید. سپس رونوشتی از آن اطلاعات را در خانهٔ «نام برای انسان‌ها» (Name for Humans) درج کنید. اگرچه استفاده از شمارهٔ نسخه الزامی نیست، اما این کار برای شما به عنوان طراح بسیار مفید است تا بتوانید بین نسخه‌های مختلف کار خود متمایز ایجاد کنید. اگر مطمئن نیستید، شماره نسخه «1.0» را وارد کنید. سپس به زبانهٔ TTF Names رفته و همان اطلاعات را وارد کنید.

مشابه شمارهٔ نسخه، این کار می‌تواند در بلندمدت مفید باشد که گزارشی برای هر نسخهٔ بازبینی ایجاد کنید. برای این کار به زبانهٔ FONTLOG رفته و یکی دو جمله در توصیف تغییرات این نسخه بنویسید. اگر این گزارش، اولین گزارش شماست، بایستی توضیحاتی درباره فونت و هدف ساختنش را وارد کنید.

فونت‌ها، مانند همه آثار خلاقانه، نیاز به یک پروانهٔ نشر دارند تا کاربران‌شان بدانند که با آن اثر چه کارهایی را می‌توانند یا نمی‌توانند انجام دهند. فونت‌فورج دارای دکمه ای با عنوان Add SIL Open Font License در زبانهٔ TTF Names است. پروانهٔ Open Font License (OFL) پروانه‌ای است که به شما امکان می‌دهد تا فونت‌تان را ضمن حفظ حقوق‌تان به عنوان طراح، با اعمال محدودیت‌های اندکی با همگان به اشتراک بگذارید. کلیک کردن روی این دکمه، اطلاعات مورد نیاز را در مدخل‌های License و License URL وارد می‌کند. اگر ترجیح می‌دهید پروانهٔ دیگری به جای OFL استفاده کنید، مشخصات آن را در این قسمت‌ها وارد کنید.

اگر تغییرات قابل توجهی در سایر ویژگی‌های فونت‌تان داده‌اید، فکر خوبی است که تنظیمات دیگران در پنجرهٔ Font Info را مجددا مورد بازبینی قرار دهید تا اطمینان حاصل کنید همه چیز به‌روز است. به عنوان مثال، اطلاعات مربوط به فاصلهٔ خطوط که در زبانهٔ OS/2 زیر قسمت Metrics دردسترس است.

ساختن پرونده‌های فونت

فرایند ساخت نسخهٔ مناسب انتشار فونت مشابه همان فرایندی است که پیش‌تر برای تولید پرونده‌های خروجی فونت تشریح شد؛ تنها لازم است قدری به گزینه‌ها توجه بیشتری داشته باشید.

به File > Generate Fonts بروید. جدا از مواردی که پیش‌تر مورد بحث قرار گرفتند، روی دکمه Options کلیک کنید. در پنجره‌ای که باز شده است، گزینه‌های PS Glyph Names و OpenType و Dummy DSIG را انتخاب کرده و بقیهٔ موارد را غیر فعال کنید.

روی دکمهٔ Generate کلیک کنید تا فونت‌فورج پرونهٔ فونت مورد نظر را بسازد.

نکتهٔ پایانی این که بسیار مهم است که پروندهٔ پروژهٔ فونت‌فورج‌تان را با تغییراتی که در نسخه‌های ttf یا otf ذخیره کرده‌اید بازنویسی نکنید. اگر چنین کنید، اطلاعات زیادی از جمله اجزای مجزای گلیف‌ها را که در زمان حذف هم‌پوشانی‌ها با هم ترکیب کرده بودید از دست خواهید داد. قاعدتا شما تمایل دارید که برای ویرایش‌های آینده، به این اجزای مجزا دسترسی داشته باشید.

در نتیجه، اگر تصمیم گرفتید که نسخهٔ تغییر یافته پروندهٔ فونت‌فورج را ذخیره کنید، مطمئن شوید که نام مناسبی مثل MyFont-TTF.sfd برایش انتخاب کنید. اما شما به هیچ وجه در عمل نیازی به ذخیرهٔ این نسخه‌های خروجی‌محور ندارید. دفعه بعدی که بخواهید کار اصلی‌تان را در فونت‌فورج بازبینی کنید، همین فرایندهای آماده‌سازی را دوباره تکرار خواهید کرد.

زمان تبریک گفتن است! شما اکنون اولین فونت‌تان را ساخته‌اید. تمام چیزی که باقی مانده است این است که کارتان را با دیگران به اشتراک بگذارید. آن را روی اینترنت بارگذاری کرده و در وبلاگ‌تان درباره‌اش بنویسید و به دوستان‌تان معرفی‌اش کنید.

بی تردید، دوباره باز خواهید گشت تا کارتان را مورد بازبینی و بهبود قرار دهید. همان‌طور که دیده‌اید، طراحی فونت یک فرایند تناوبی و ادامه‌دار است. اما فعلا دست نگه دارید و قدری از کار فاصله گرفته و از اولین دست‌آوردتان لذت ببرید.